package com.zx.sdk.model;

import com.google.gson.annotations.SerializedName;
import com.zx.sdk.util.StringHelper;

import java.util.ArrayList;
import java.util.Map;

/*广告配置项*/
public class Config {

    public int suspensionCount = 0;
    public long suspensionSec = 0;
    private String clusterInterval;//瀑布流预加载大层级间隔（毫秒）
    private Float usdcny;//表示美元兑人民币的汇率，使用在mtg的美元换算（之前一直是6.5），现在使用这个动态的字段，注意，如果配置项没加载到，就使用默认值  6.7
    private int dmRewardTime;//多盟激励视频广告时长
    private String clusterCount;//瀑布流预加载层级簇成员数量（多少个pid位一扎）
    private String frozenSec;// 无填充后 冻结的秒数
    private String rewardPidIgnorePrice;//激励视频预加载请求过滤间隔价格
    private String splashPidIgnorePrice;//开屏预加载请求过滤间隔价格
    private String splashWaitSec;//开屏强制进入首页等待时间
    private String splashLoadingSec;//首页广告加载等待时间
    private String frozenFactor;// 冻结系数
    public long IllustrationIntervalSec = 0;// 页面插屏广告间隔时间
    public int IllustrationCount = 0;// 页面插屏广告总次数

    public long bannerTime = 0;
    public int bannerCount = 0;
    private String maxFrozenHour;// 最大冻结小时，冻结时间大于这个值就解冻，重新慢启动
    private String warningTips;// 标识 是否显示 广告点击安全警告弹窗dialog，在这个字符串里面的联盟使用 dialog，否则使用toast
    private String event_sample_rate;// (事件采样率（百分比），100是全部发送，0是不发送，50是一半概率会发)，来决定是否上报数据
    @SerializedName("IllustrationConfig")
    private ArrayList<String> showInterstitialPages = new ArrayList<>();

    //是否发送曝光日志
    private boolean logPushSwitch ;

    public Float getUsdcny() {
        return usdcny;
    }

    public String getClusterInterval() {
        return clusterInterval;
    }

    public String getClusterCount() {
        return clusterCount;
    }

    public String getFrozenSec() {
        return frozenSec;
    }

    public String getRewardPidIgnorePrice() {
        return rewardPidIgnorePrice;
    }

    public String getSplashPidIgnorePrice() {
        return splashPidIgnorePrice;
    }

    public String getSplashLoadingSec() {
        return splashLoadingSec;
    }

    public int getDmRewardTime() {
        return dmRewardTime;
    }

    public String getFrozenFactor() {
        return frozenFactor;
    }

    public String getMaxFrozenHour() {
        return maxFrozenHour;
    }

    public String getEvent_sample_rate() {
        return event_sample_rate;
    }

    public ArrayList<String> getShowInterstitialPages() {
        return showInterstitialPages;
    }

    @SerializedName("position")
    private Map<String, Position> positions;//广告位map

    public Map<String, Position> getPositions() {
        return positions;
    }

    public void setPositions(Map<String, Position> positions) {
        this.positions = positions;
    }

    public String getWarningTips() {
        return StringHelper.isEmpty(warningTips) ? "" : warningTips;
    }

    public boolean isLogPushSwitch() {
        return logPushSwitch;
    }

    public void setLogPushSwitch(boolean logPushSwitch) {
        this.logPushSwitch = logPushSwitch;
    }
}
